package ik.xcj.hostpital.manage.mapper;

import ik.xcj.hostpital.manage.pojo.vo.RoleListItemVO;
import ik.xcj.hostpital.manage.pojo.vo.RoleMatchPermissionVO;
import ik.xcj.hostpital.manage.pojo.vo.RoleStandardVO;
import org.springframework.stereotype.Repository;


import java.util.List;

/**
 * 处理角色数据的Mapper接口
 *
 * @author ik.xcj
 * @version 0.0.1
 */

@Repository
public interface IRoleMapper {

    /**
     * 统计角色的数据
     * @return 角色的数量
     */
    int count();

    /**
     * 根据角色id查询角色详情
     *
     * @param id 角色id
     * @return 匹配的角色详情，如果没有匹配的数据，则返回null
     */
    RoleStandardVO getStandardById(Long id);


    /**
     * 根据角色名称查询权限列表详情
     *
     * @param  roleName 角色名称
     * @return 匹配的权限列表详情，如果没有匹配的数据，则返回null
     */
    RoleMatchPermissionVO getMatchPermissionByRoleName(String roleName);

    /**
     * 查询角色列表
     * @return 角色列表
     */
    List<RoleListItemVO> list();

    RoleStandardVO getStandardByName(String roleName);
}
